"""
    需求：
        定义函数，在员工列表中查找所有编号是1003的员工
        定义函数，在员工列表中查找所有姓名是孙悟空的员工
    步骤：
        --根据需求，写出函数
        --因为主题逻辑相同，核心算法不同
            所以使用函数式编程思想（分，隔，做）
            创建通用函数find_all
        --在当前模块中使用
"""
from common.iterable_tools import IterableHelper
class Employee:

    def __init__(self,name = "",eid = 0):
        self.name = name
        self.eid = eid

    def __str__(self):
        return str(self.__dict__)

e1 = Employee("孙悟空",1001)
e2 = Employee("猪八戒",1002)
e3 = Employee("白骨精",1003)

list01 = []
list01.append(e1)
list01.append(e2)
list01.append(e3)

print(list01)


def condition01(emp):
    return emp.eid == 1003

def condition02(emp):
    return emp.name == "孙悟空"

# def find_single_emp(func):
#     for item in list01:
#         if func(item):
#             return item

for item in IterableHelper.find_all(list01,condition01):
    print(item.__dict__)

result = IterableHelper.find_single(list01,condition02)
print(result)



